extensions: fast-float: add destroy() callback, fix 2 leaks
authorRoman Lebedev <lebedev.ri@gmail.com>
Mon, 22 Aug 2016 17:24:14 +0000 (20:24 +0300)
committerØyvind Kolås <pippin@gimp.org>
Fri, 16 Sep 2016 18:09:09 +0000 (20:09 +0200)
Fixes these 2 not-so-informative leaks, every test showed them:

=================================================================
==27868==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 540276 byte(s) in 1 object(s) allocated from:
    0 0x4cf190 in calloc (/home/lebedevri/src/_GIMP/babl/tests/.libs/nop+0x4cf190)
    1 0x7f9cdd208cbb  (<unknown module>)
    2 0x7f9cdd207cca  (<unknown module>)
    3 0x7f9ce06820d8 in babl_extension_load /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:221:7
    4 0x7f9ce06819d6 in babl_extension_load_dir /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:263:19
    5 0x7f9ce06813fa in babl_extension_load_dir_list /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:333:17
    6 0x7f9ce0678c84 in babl_init /home/lebedevri/src/_GIMP/babl/babl/babl.c:151:7
    7 0x50504a in main /home/lebedevri/src/_GIMP/babl/tests/nop.c:26:3
    8 0x7f9cdf64e72f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2072f)

Direct leak of 540276 byte(s) in 1 object(s) allocated from:
    0 0x4cf190 in calloc (/home/lebedevri/src/_GIMP/babl/tests/.libs/nop+0x4cf190)
    1 0x7f9cdd208cbb  (<unknown module>)
    2 0x7f9cdd207cf6  (<unknown module>)
    3 0x7f9ce06820d8 in babl_extension_load /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:221:7
    4 0x7f9ce06819d6 in babl_extension_load_dir /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:263:19
    5 0x7f9ce06813fa in babl_extension_load_dir_list /home/lebedevri/src/_GIMP/babl/babl/babl-extension.c:333:17
    6 0x7f9ce0678c84 in babl_init /home/lebedevri/src/_GIMP/babl/babl/babl.c:151:7
    #7 0x50504a in main /home/lebedevri/src/_GIMP/babl/tests/nop.c:26:3
    8 0x7f9cdf64e72f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2072f)

SUMMARY: AddressSanitizer: 1080552 byte(s) leaked in 2 allocation(s).

extensions/fast-float.c

index 04802a9c3ac466f08a80ecd35e824d32a1e3607c..8148de0b1121c53fd2ff861854df816fc8c810d2 100644 (file)
@@ -469,3 +469,12 @@ init (void)
   return 0;
 }
 
+void destroy (void);
+
+void
+destroy (void)
+{
+  free (fast_rpow);
+  free (fast_pow);
+}
+